package com.librelato.persistencia;

import java.util.ArrayList;
import java.util.List;

import com.librelato.bean.UnidadeRequisicaoBean;
import com.librelato.persistencia.config.SQLConfiguracao;
import com.librelato.persistencia.enums.EnumCondicao;
import com.librelato.persistencia.interfaces.IUnidadeRequisicaoDao;

public class UnidadeRequisicaoDao<P extends UnidadeRequisicaoBean> extends DaoGenerico<P> implements IUnidadeRequisicaoDao<P> {

	@Override
	public String procuraPorParam(String tabela, String campo, String valor,
			EnumCondicao condicao) {
		return null;
	}
	
	public void excluir(P p) throws Exception {};
	
	public void editar(P p) throws Exception {};

	@Override
	public P salvar(P p) {
		return null;
	}

	@Override
	public void preSalvar(P p) {}

	@Override
	public List<UnidadeRequisicaoBean> buscaUnidadesRequisicao() throws Exception {

		conn = null;
		ps = null;
		rs = null;
		query = null;
		List<UnidadeRequisicaoBean> listaUnidades = new ArrayList<UnidadeRequisicaoBean>();
		UnidadeRequisicaoBean unid;
		try {
			conn = GerenciadorConexao.getConexao();
			query = SQLConfiguracao.getInstance().getValor("localiza_unidades");
			ps = conn.prepareStatement(query);
			rs = ps.executeQuery();
			while (rs.next()) {
				unid = new UnidadeRequisicaoBean();
				unid.setCodigo(rs.getString("Y3_COD"));
				unid.setDescricao(rs.getString("Y3_DESC"));
				listaUnidades.add(unid);
			}
			return listaUnidades;
		} catch (Exception e) {
			e.printStackTrace();
			throw e;
		} finally {
			super.fecharRecursos(ps, rs);
		}
	}
	
	@Override
	public UnidadeRequisicaoBean verificaUnidadeRequi(String cod) throws Exception {
		conn = null;
		ps = null;
		rs = null;
		query = null;
		UnidadeRequisicaoBean unidade = null;
		try {
			conn = GerenciadorConexao.getConexao();
			query = SQLConfiguracao.getInstance().getValor("localiza_unidade_cod");
			ps = conn.prepareStatement(query);
			ps.setString(1, cod.trim());
			rs = ps.executeQuery();
			if (rs.next()){
				unidade = new UnidadeRequisicaoBean();
				unidade.setCodigo(rs.getString("Y3_COD"));
				unidade.setDescricao(rs.getString("Y3_DESC"));
			}
		}catch(Exception e) {
			e.printStackTrace();
		}finally {
			super.fecharRecursos(ps, rs);
		}
		return unidade;
	}
	

}
